package com.loy.redisson;


import org.junit.Test;
import org.redisson.Redisson;
import org.redisson.api.RLock;
import org.springframework.beans.factory.annotation.Autowired;

public class Test_redisson {

    @Autowired
    private Redisson redisson;

    /**
     * 1. 使用 redisson 实现分布式锁
     */
    public void test1(){


        // 先从数据库中拿数据服务，看看到底能不能查询到
        // 如果不能查询到，那么使用

        // 获取当前 key =product:001  redisson 的锁对象
        RLock redissonLock = redisson.getLock("product:001");

        try {
            // 加锁
            redissonLock.lock();
            /**、
             * 1. 中间这里执行并发的业务逻辑
             */

        }catch (Exception e){

        }finally {
            // 解锁逻辑
            redissonLock.unlock();;
        }

    }

}
